package apidocs;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
import play.Play;

/**
 * 快捷获取配置项目
 * Created by zhangzc on 2/17/17.
 */
public class Configs {

    public static String getAsString(String k, String defaultVal){
        String val = Play.configuration.getProperty(k);
        if(StringUtils.isEmpty(val)){
            return defaultVal;
        }
        return val;
    }

    public static Integer getAsInt(String k, int defaultVal){
        String val = Play.configuration.getProperty(k);
        if(StringUtils.isEmpty(val)){
            return defaultVal;
        }
        return NumberUtils.createInteger(val);
    }

    public static Boolean getAsBoolean(String k, boolean defaultVal){
        String val = Play.configuration.getProperty(k);
        if(StringUtils.isEmpty(val)){
            return defaultVal;
        }
        return Boolean.parseBoolean(val);
    }

    /**
     * 获取配置类型：
     * hosts=127.0.0.1,192.168.0.1,8.8.8.8
     * 获取方式：getAsStringArray("hosts", ',');
     * @param k
     * @param splitChar
     * @return
     */
    public static String[] getAsStringArray(String k, char splitChar){
        String val = Play.configuration.getProperty(k);
        if(StringUtils.isEmpty(val)){
            return new String[0];
        }
        String[] arr = StringUtils.split(val, splitChar);
        return arr;
    }

    /**
     * 获取配置类型：
     * hosts=127.0.0.1,192.168.0.1,8.8.8.8
     * 获取方式：getAsStringArray("hosts", ',');
     * @param k
     * @return
     */
    public static String[] getAsStringArray(String k){
        return getAsStringArray(k, ',');
    }
}
